package com.example.theorygame.layer;
/**
 * 单次游戏
 */

import android.view.MotionEvent;

import com.example.theorygame.util.CommouUtils;

import org.cocos2d.nodes.CCLabel;
import org.cocos2d.nodes.CCLabel.TextAlignment;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.nodes.CCTextureCache;
import org.cocos2d.opengl.CCTexture2D;
import org.cocos2d.types.CGPoint;
import org.cocos2d.types.CGRect;
import org.cocos2d.types.CGSize;

public class SecondLayer extends BaseLayer {
    //钱箱
    private CCSprite back;
    //计分
    private CCSprite inner;
    //红方 自己
    private CCSprite you;
    //蓝方 别人
    private CCSprite other;
    //欺骗按钮
    private CCSprite cheat;
    //合作按钮
    private CCSprite cooperste;
    //文字标签
    private CCLabel label_1, label_2, label_3, label_4, label_5, label_6, label_7;
    //文字
    private String label_1Text, label_2Text, label_3Text, label_4Text, label_5Text, label_6Text, label_7Text;
    //判断  0欺骗，1合作
    private boolean firstHZ, secondHZ, firstQP, secondQP;
    private int click = 1, turn = 1;
    //next
    private CCSprite next;
    //人物
    private CCSprite blueMan, redMan;
    //比赛结果
    private CCSprite res, res1, res0, res11, res10, res01, res00;
    //比赛结果图片路径
    private String resStr;

    public SecondLayer() {
        //设置背景
        CCSprite bg = CCSprite.sprite("image/bg.png");
        bg.setAnchorPoint(0, 0);
        this.addChild(bg, 0);
        /**顶部*/
        //设置第1行
        label_1Text = "信任游戏";
        CGSize dimensions = CGSize.make(winSize.width, 100);
        label_1 = CCLabel.makeLabel(label_1Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_1.setColor((ccc3(21, 21, 21)));
        label_1.setPosition(winSize.width * 0.5f, winSize.height - 20);
        addChild(label_1);
        //设置第2行
        label_2Text = "你面前有一台机器：当你放进去一枚硬币，对方会得到三枚硬币，反之亦然。你";
        label_2 = CCLabel.makeLabel(label_2Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_2.setColor((ccc3(21, 21, 21)));
        label_2.setPosition(winSize.width * 0.5f, winSize.height - 35);
        addChild(label_2);
        //设置第3行
        label_3Text = "们两个人都可以选择「合作」，放一枚硬币，或者「欺骗」，不放硬币。";
        label_3 = CCLabel.makeLabel(label_3Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_3.setColor((ccc3(21, 21, 21)));
        label_3.setPosition(winSize.width * 0.5f, winSize.height - 50);
        addChild(label_3);
        //设置第4行
        label_4Text = "";
        label_4 = CCLabel.makeLabel(label_4Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_4.setColor((ccc3(21, 21, 21)));
        label_4.setPosition(winSize.width * 0.5f, winSize.height - 65);
        addChild(label_4);
        /**底部*/
        //设置第5行
        label_5Text = "好，如果我现在告诉你，另一名玩家将选择「欺骗」，不会放硬币进去";
        label_5 = CCLabel.makeLabel(label_5Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_5.setColor((ccc3(21, 21, 21)));
        label_5.setPosition(winSize.width * 0.5f, 85);
        addChild(label_5);
        //设置第6行
        label_6Text = "你该怎么做呢？";
        label_6 = CCLabel.makeLabel(label_6Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_6.setColor((ccc3(21, 21, 21)));
        label_6.setPosition(winSize.width * 0.5f, 70);
        addChild(label_6);
        //设置第7行
        label_7Text = "";
        label_7 = CCLabel.makeLabel(label_7Text, dimensions, TextAlignment.CENTER, "DroidSans", 10);
        label_7.setColor((ccc3(21, 21, 21)));
        label_7.setPosition(winSize.width * 0.5f, 55);
        addChild(label_7);

        //设置箱子
        back = CCSprite.sprite("image/iterated/iterated_machine.png");
        back.setAnchorPoint(0, 0);
        back.setPosition(30, 70);
        back.setScale(0.3f);
        this.addChild(back);
        //设置比分
        resStr = "image/new/iterated_payoffs_1.png";
        res = CCSprite.sprite(resStr);
        res.setScale(0.3f);
        res.setAnchorPoint(0, 0);
        res.setPosition(163, 99);
        this.addChild(res);
        //蓝色小人 别人
        blueMan = CCSprite.sprite("image/layer2/blue.png");
        blueMan.setAnchorPoint(0, 0);
        blueMan.setPosition(250, 78);
        blueMan.setScale(0.4f);
        this.addChild(blueMan, 2);
        //红色小人 你
        redMan = CCSprite.sprite("image/layer2/red.png");
        redMan.setAnchorPoint(0, 0);
        redMan.setPosition(10, 78);
        redMan.setScale(0.4f);
        this.addChild(redMan, 2);
        //设置欺骗按钮cheat
        cheat = CCSprite.sprite("image/layer2/qp.png");
        cheat.setAnchorPoint(0, 0);
        cheat.setScale(0.25f);
        cheat.setPosition(110, 0);
        this.addChild(cheat);
        //设置合作按钮cooperste
        cooperste = CCSprite.sprite("image/layer2/hz.png");
        cooperste.setAnchorPoint(0, 0);
        cooperste.setScale(0.25f);
        cooperste.setPosition(240, 0);
        this.addChild(cooperste);

        //开启触摸
        setIsTouchEnabled(true);
    }

    /**
     * 触摸事件
     */
    @Override
    public boolean ccTouchesBegan(MotionEvent event) {
        CGPoint conver = this.convertTouchToNodeSpace(event);
        //欺骗
        if (turn == 1) {
            if (CGRect.containsPoint(cheat.getBoundingBox(), conver)) {
                //判断
                if (click == 1) {
                    firstQP = true;
                }
                if (click == 2) {
                    secondQP = true;
                    changeButton();
                }
                changeText();
                click = 2;
                System.out.println("111");
                //动画

            }
            //合作
            if (CGRect.containsPoint(cooperste.getBoundingBox(), conver)) {
                changeText();
                //判断
                if (click == 1) {
                    firstHZ = true;
                }
                if (click == 2) {
                    secondHZ = true;
                    changeButton();
                }
                changeText();
                click = 2;
                System.out.println("333");
                //动画

            }
        } else if (turn == 2) {
            if (CGRect.containsPoint(next.getBoundingBox(), conver)) {
                CommouUtils.changeLayer(new ThirdLayer());
            }
        }


        return true;

    }

    /**
     * 修改文字方法
     */
    public void changeText() {
        //第一次点击
        if (click == 1) {
            if (firstHZ) {
                //设置文字转换
                label_1Text = "哎呀，把左脸也伸过去你只会多挨一下打，并没有好处呀！";
                label_2Text = "如果你合作，但是对方选择欺骗，你将失去一个硬币，但是对方可以得到三个";
                label_3Text = "（-1:+3）。但是，如果你们两个都选择欺骗，那两人都既得不到什么也不会";
                label_4Text = "失去什么（0：0）。 所以：你应该选择「欺骗」。";
                label_5Text = "但是，如果我告诉你，另一名玩家将选择合作，而且会投一枚硬币。";
                label_6Text = "你现在又该怎么做呢？";
                label_7Text = "";
                //设置图片
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_7.png");
                res.setTexture(tex);
                System.out.println("第一次合作");
            } else {
                label_1Text = "就是这样！凭什么要便宜这群伸手党们啊？";
                label_2Text = "如果你合作，但是对方选择欺骗，你将失去一个硬币，但是对方可以得到三个";
                label_3Text = "（-1:+3）。但是，如果你们两个都选择欺骗，那两人都既得不到什么也不会失";
                label_4Text = "去什么（0：0）。 所以：你应该选择「欺骗」。";
                label_5Text = "但是，如果我告诉你，另一名玩家将选择合作，而且会投一枚硬币。";
                label_6Text = "你现在又该怎么做呢？";
                label_7Text = "";
                //设置图片路径
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_8.png");
                res.setTexture(tex);

                System.out.println("第一次欺骗");
            }
        }
        //第二次点击
        if (click == 2) {
            if (firstHZ && secondHZ) {
                label_1Text = "没错，看起来确实应该这样哈……但是，仔细想想，是吗？";
                label_2Text = "因为如果你们两个都选择了合作，你们都失去了一个硬币得到了两个";
                label_3Text = "（+2:+2）。但是，如果你选择欺骗，但是对方却合作，你将得到三个硬币，但";
                label_4Text = "对方会失去一个（+3:-1）。 所以，你还是「应该」选择欺骗，和上一轮一样。";
                label_5Text = "你看，两种情况我们都「需要」选择欺骗，这就是我们的窘境了。信任固然好，";
                label_6Text = "但会让别人占你的便宜，从战壕里攻击手无寸铁的你。有些时候，选择「不信";
                label_7Text = "任」恰恰是理性的！然而，如果这个游戏不是一次就结束，而是玩很多次...";
                //设置图片路径
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_5.png");
                res.setTexture(tex);
                turn = 2;
                System.out.println("俩次合作");
            } else if (firstHZ && !secondHZ) {
                label_1Text = "哇喔……有点儿缺德啊～不过，这是就正确的答案！";
                label_2Text = "因为如果你们两个都选择了合作，你们都失去了一个硬币得到了两个";
                label_3Text = "（+2:+2）。但是，如果你选择欺骗，但是对方却合作，你将得到三个硬币，但";
                label_4Text = "对方会失去一个（+3:-1）。 所以，你还是「应该」选择欺骗，和上一轮一样。";
                label_5Text = "你看，两种情况我们都「需要」选择欺骗，这就是我们的窘境了。信任固然好，";
                label_6Text = "但会让别人占你的便宜，从战壕里攻击手无寸铁的你。有些时候，选择「不信";
                label_7Text = "任」恰恰是理性的！然而，如果这个游戏不是一次就结束，而是玩很多次...";
                //设置图片路径
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_6.png");
                res.setTexture(tex);
                turn = 2;
                System.out.println("第一次合作，第二次欺骗");
            } else if (!firstHZ && secondHZ) {
                label_1Text = "没错，看起来确实应该这样哈……但是，仔细想想，是吗？";
                label_2Text = "因为如果你们两个都选择了合作，你们都失去了一个硬币得到了两个";
                label_3Text = "（+2:+2）。但是，如果你选择欺骗，但是对方却合作，你将得到三个硬币，但";
                label_4Text = "对方会失去一个（+3:-1）。 所以，你还是「应该」选择欺骗，和上一轮一样。";
                label_5Text = "你看，两种情况我们都「需要」选择欺骗，这就是我们的窘境了。信任固然好，";
                label_6Text = "但会让别人占你的便宜，从战壕里攻击手无寸铁的你。有些时候，选择「不信";
                label_7Text = "任」恰恰是理性的！然而，如果这个游戏不是一次就结束，而是玩很多次...";
                //设置图片路径
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_5.png");
                res.setTexture(tex);
                turn = 2;
                System.out.println("第一次欺骗，第二次合作");
            }
            if (!firstHZ && !secondHZ) {
                label_1Text = "哇喔……有点儿缺德啊～不过，这是就正确的答案！";
                label_2Text = "因为如果你们两个都选择了合作，你们都失去了一个硬币得到了两个";
                label_3Text = "（+2:+2）。但是，如果你选择欺骗，但是对方却合作，你将得到三个硬币，但";
                label_4Text = "对方会失去一个（+3:-1）。 所以，你还是「应该」选择欺骗，和上一轮一样。";
                label_5Text = "你看，两种情况我们都「需要」选择欺骗，这就是我们的窘境了。信任固然好，";
                label_6Text = "但会让别人占你的便宜，从战壕里攻击手无寸铁的你。有些时候，选择「不信";
                label_7Text = "任」恰恰是理性的！然而，如果这个游戏不是一次就结束，而是玩很多次...";
                //设置图片路径
                CCTexture2D tex = CCTextureCache.sharedTextureCache().addImage("image/new/iterated_payoffs_6.png");
                res.setTexture(tex);
                turn = 2;
                System.out.println("俩次欺骗");
            }
        }
        label_1.setString(label_1Text);
        label_2.setString(label_2Text);
        label_3.setString(label_3Text);
        label_4.setString(label_4Text);
        label_5.setString(label_5Text);
        label_6.setString(label_6Text);
        label_7.setString(label_7Text);

    }

    /**
     * 修改按钮方法
     */
    public void changeButton() {
        cheat.removeSelf();
        cheat.removeFromParentAndCleanup(true);
        cooperste.removeSelf();
        cooperste.removeFromParentAndCleanup(true);
        //设置next
        next = CCSprite.sprite("image/layer2/next.png");
        next.setScale(0.3);
        next.setAnchorPoint(0, 0);
        next.setPosition(110, 0);
        this.addChild(next);
    }
}




















